55ab5bf1b35488054032dc854bc0df3849ce5116,mp/src/main/java/org/teavm/flavour/mp/impl/CompositeMethodGenerator.java,CompositeMethodGenerator,captureValue,#Object#,220
Before Change
insn.setReceiver(program.createVariable());
insn.setConstant((Long) value);
add(insn);
return insn.getReceiver();
} else if (value instanceof Float) {
FloatConstantInstruction insn = new FloatConstantInstruction();
insn.setReceiver(program.createVariable());
After Change
}
Variable captureValue(CapturedValue captured) {
Object value = captured.obj;
if (value == null) {
NullConstantInstruction insn = new NullConstantInstruction();
insn.setReceiver(program.createVariable());
add(insn);
return insn.getReceiver();
} else if (value instanceof Integer) {
IntegerConstantInstruction insn = new IntegerConstantInstruction();
insn.setReceiver(program.createVariable());
insn.setConstant((Integer) value);
add(insn);
Variable result = insn.getReceiver();
if (!captured.primitive) {
result = box(result, ValueType.INTEGER);
}
return result;
} else if (value instanceof Long) {
LongConstantInstruction insn = new LongConstantInstruction();
insn.setReceiver(program.createVariable());
insn.setConstant((Long) value);
add(insn);
Variable result = insn.getReceiver();
if (!captured.primitive) {
result = box(result, ValueType.LONG);
}
return result;
} else if (value instanceof Float) {
FloatConstantInstruction insn = new FloatConstantInstruction();
insn.setReceiver(program.createVariable());
insn.setConstant((Float) value);
add(insn);
Variable result = insn.getReceiver();
if (!captured.primitive) {
result = box(result, ValueType.FLOAT);
}
return result;
} else if (value instanceof Double) {
DoubleConstantInstruction insn = new DoubleConstantInstruction();
insn.setReceiver(program.createVariable());
insn.setConstant((Double) value);
add(insn);
Variable result = insn.getReceiver();
if (!captured.primitive) {
result = box(result, ValueType.DOUBLE);
}
return result;